package ru.nsu.expertsystem.chucknorris;

public class CanBlockStrike implements Predicate {
	private Person who;
	private StrikeType strikeType;
	private Person whose;

	public CanBlockStrike() {
		
	}
	
	public CanBlockStrike(Person who, StrikeType strikeType, Person whose) {
		this.setWho(who);
		this.setStrikeType(strikeType);
		this.setWhose(whose);
	}

	/**
	 * @return the who
	 */
	public Person getWho() {
		return who;
	}

	/**
	 * @param who
	 *            the who to set
	 */
	public void setWho(Person who) {
		this.who = who;
	}

	/**
	 * @return the strikeType
	 */
	public StrikeType getStrikeType() {
		return strikeType;
	}

	/**
	 * @param strikeType
	 *            the strikeType to set
	 */
	public void setStrikeType(StrikeType strikeType) {
		this.strikeType = strikeType;
	}

	/**
	 * @return the whose
	 */
	public Person getWhose() {
		return whose;
	}

	/**
	 * @param whose whose to set
	 */
	public void setWhose(Person whose) {
		this.whose = whose;
	}
	
	@Override
	public String toString() {
		return String.format(IMessages.CanBlockStringMessage, who, whose, strikeType);
	}
}
